This invention relates to a data-processing device, in particular, it relates to a data processing device that is used in a system that conducts transmitting and receiving of data in packet units through the medium of a serial bus that conforms to the IEEE 1394 standards.
In the past, in order to accept image and voice data, and control an AV machine with a data-processing device such as a personal computer, a video capture board, an RS232C bus, and the like were individually required, and unified handling could not be done.
Thus, in recent years standards suited to data transmission in the multimedia era have been proposed, for example, by means of the xe2x80x9cIEEE 1394 High Performance Serial Bus Standardsxe2x80x9d (hereinafter, called IEEE 1394 Standards), and environmental improvements have been made to be able to freely conduct high speed, high volume communications.
One example of a conventional data processing device is shown at key 101 of FIG. 4. This data processing device 101, along with another data processing device that is not illustrated, is connected to an IEEE 1394 bus 106. The IEEE 1394 bus 106, which conforms to the IEEE 1394 Standards, is a serial bus in which the propagation of data in packet units is possible, the data processing device 101 transmits a request packet and receives only an acknowledge signal through the medium of the IEEE 1394 bus 106, but by receiving a response packet in addition to the acknowledge signal the exchange of data with another data processing device can be done.
The data processing device 101 has a microcomputer 102, a transmitting device 103, and a receiving device 104. Among these, the transmitting device 103 and the receiving device 104 are arranged in parallel between the microcomputer 102 and the IEEE 1394 bus 106.
An explanation is given in regard to the case wherein this type of data processing device 101 conducts the exchange of data with another data processing device while referencing the flow chart of FIG. 5. This is a flow chart showing the processes that the transmitting device 103 conducts in the interval of transmitting a request package, and the keys S101 to S106 show each processing step.
First, the microcomputer 102 creates request packets based on a prescribed program, and outputs them one after another to the transmitting device 103. Each request packet carries the information from the data processing device 101, which is the transmitting source, and includes the recognition information that recognizes the request package, the information that specifies another data processing device for the transmit destination of the request packet, and information for the purpose of specifying the data to be read out.
The transmitting device 103 has an internal buffer memory (not illustrated) that sequentially holds the request packets that are successively input in the buffer memory, reads these out one at a time, and sends them to the IEEE 1394 bus 106 S101.
The transmitting device 103 sends a request packet, outputs recognition information for the request packet that has been sent to the receiving device 104, and, along with notifying the receiving device 104 of the purpose that a request packet has been sent, transitions to an input wait condition for an acknowledge signal S102, and until the acknowledge signal, explained below, signal is input, it cannot transmit a new request packet.
When the request packet is sent to the IEEE 1394 bus 106, the other data processing device (hereinafter, called the other party data processing device) that was specified by the contents of the request packet sequentially receives the request packet from the IEEE 1394 bus 106, reads out its content, and sends an acknowledge signal corresponding to that content to the IEEE 1394 bus 106. What is referred to as an acknowledge signal is information made up of either of xe2x80x9cacceptance confirmationxe2x80x9d or xe2x80x9cpending,xe2x80x9d and is a signal that is sent for the purpose of notification of the report that the request packet has been received. The acknowledge signal of acceptance confirmation is sent in the event the response packet is deemed unnecessary, and the acknowledge signal of pending is sent when it is deemed respectively that the response packet is necessary.
After a prescribed time has elapsed after the request packet is received, in the event neither of the acknowledge signals are input to the transmitting device 103 from the receiving device 104, the transmitting device 103 determines that an error has been generated, notifies that purpose to the microcomputer 102, and shifts to error processing S103.
On the other hand, in the event an acknowledge signal is input to the transmitting device 103 from the receiving device 104, the input acknowledge signal is detected, and a determination is made as to whether that acknowledge signal is an acknowledge signal of acceptance confirmation S104. In the event it is an acknowledge signal of acceptance confirmation, the transmitting device 103 determines that the transaction has been completed, and one processing series relating to the transmission of one request packet is completed. When the processing series is completed, the transmitting device 103 transitions to a condition in which it is possible to transmit a new request packet.
On the other hand, in the event the acknowledge signal that has been received is not an acknowledge signal of acceptance confirmation, but is an acknowledge signal of pending, the transmitting device 103 shifts to the response signal wait condition S105. When it shifts to this response signal wait condition, the transmitting device 103 transitions to a condition in which a new request packet cannot be transmitted until the fact that the previously mentioned response packet has been received is acknowledged.
The other party data processing device that has sent the acknowledged signal of pending in response to the content of the received request packet generates a response packet containing recognition information, information that specifies the transmission source and transmission destination, information that specifies the other data processing device of the transmission destination for the request packet, information for the purpose of specifying the data that is to be read out, and the like, and sends it to the IEEE 1394 bus 106.
If the receiving device 104 has received the response packet, receiving device 104 outputs recognition information for the response packet that has been received to the transmitting device 103, and notifies it of the purpose that the response packet has been received.
When the fact that the response packet has been received is confirmed by means of this notification, the transmitting device 103 assumes that there is a completion of that transaction and shifts to a condition in which transmission of the next request packet is possible.
The receiving device 104, when it is notified of the purpose that the response packet has been received, outputs that response packet to the microcomputer 102. The microcomputer 102 conducts processes such as storing the input response packet in a prescribed memory device.
If there is not a notification of the purpose that the response packet has been received even after a fixed time has elapsed after the acknowledge signal of pending has been input, the transmitting device 103 determines that an error has been generated, notifies the microcomputer 102 of that purpose, and shifts to error processing S106.
As was explained above, this data processing device 101 can conduct the exchange of data by transmitting a request packet and receiving a corresponding response packet.
However, with this data processing device 101 there is a problem that, since the determination processes must be conducted for determining whether or not an acknowledge signal has been input S102, determining whether or not the input acknowledge signal is acceptance confirmation S104, and determining whether or not the response packet has been received S105, there is the problem that the processing load for the transmitting device becomes excessive.
Also, since the transmitting device 103 is designed not to transmit a request packet in the interval of the input wait condition for the acknowledge signal and the receive wait condition for the request packet even if new request packets are continuously created by the microcomputer 102, there is a problem generated wherein the efficiency at the time of transmitting a request packet is decreased since the generated request packets cannot be continuously transmitted in the interval of the receive wait.
This invention was originated for the purpose of solving the aforementioned unfavorable conditions of the past, and its purpose is to offer technology that improves the request packet transmission efficiency in a data processing device that can be connected to an IEEE 1394 bus.
In order to solve said problems, the data processing device of one aspect of this invention has a processing device that creates a request packet, a transmitting device that is connected to a serial bus transmits said request packet to said serial bus and transitions to a confirmation signal wait condition; a receiving device that is connected to said serial bus receives a response packet and a first confirmation signal or a second confirmation signal that is a response corresponding to said request packet from said serial bus, outputs said first or second confirmation signal to said transmitting device, and outputs said response request to said processing device; a transmission information storage means that stores the transmission information contained in the said request packet; for the purpose of specifying a request packet a reception results storage means that stores reception information contained in said response packet for the purpose of specifying said transmission information and transmission results or the response packet and condition notification information showing the response condition of the response packet; wherein said transmitting device outputs said transmission information to said transmission information storage means at the time of transmitting said request packet, and, in the event said confirmation information is said first confirmation signal, outputs transmit results showing said transmission information and said first confirmation signal to said reception results storage means and transitions to a condition in which it is possible to transmit a new request packet; and wherein said processing device, based on said transmission information stored in said transmission information storage means, and said transmission information and said transmit results stored in said reception results storage means, determines whether or not a series of processes have been normally conducted by means of the transmission of said request packet.
Also, the data processing device of another aspect of the invention is a data processing device recorded in Claim 1, wherein said transmitting device that, in the event said confirmation signal is said second confirmation signal, transitions to a condition in which it is possible to transmit a new request packet; said receiving device receives said response packet and outputs said reception information and said condition notification information to said reception results storage means; and said processing device, based on said transmission information stored in said transmission information storage means, and said reception information and said condition notification information stored in said reception results storage means, determines whether or not a series of processes have been normally conducted by means of the transmission of said request packet.
Also, the data processing device of a third aspect of the invention is a data processing device wherein said transmitting device has a dummy response request packet generating means that, in the event said request packet has not been received even though a prescribed time has elapsed after said second confirmation signal has been received, generates a dummy request packet containing said reception information for the response packet that should have been received, said condition notification information, and the recognition information; said receiving device, along with outputting said reception information and said condition notification information for said dummy response request to said reception results storage means, outputs said dummy response request to said processing device; and said processing device, based on said transmission information stored in said transmission information storage means, and said reception information and said condition notification information stored in said reception results storage means, determines whether or not a series of processes have been normally conducted by means of the transmission of said request packet.
Also, the data processing device of a fourth aspect of the invention is a dated device is constructed so that said request packet, said response packet, and said serial bus conform to the IEEE 1394 Standards.
Also, the data processing device of a fifth aspect of the invention is a data-processing device wherein said transmission information is composed of a destination ID and a tLabel, said reception information is composed of a source ID and a tLabel, and said condition notification information is composed of an rCode.
According to this invention, the transmitting device at the time of receiving a request packet obtains transmission information from the request packet and outputs it to a transmission information storage means, and in the event the content of a confirmation signal (acknowledge signal) is content that a response packet has not been returned, in other words, in the event it is the first confirmation signal, the content of the receive acknowledge signal (transmit results) and the transmission information are output to the reception results storage means.
When this is done based on the transmission information that was input to the transmission information storage means at the time of the request packet transmission, the transmission information that was input to the reception results storage means at the time of the reception of the acknowledge the signal, since the processing device and the content of the acknowledge signal, can determine whether or not the transmit condition (series of processes) was normal for the request packet, it is not necessary for the transmitting device to determine the normal or abnormal transmit conditions as in the past.
Also, in this invention in the event the content of the acknowledge signal is content in which the response packet has been returnedxe2x80x94in other words, in the event it is the second confirmation signalxe2x80x94the transmitting device, at the time of transmitting the request packet, obtains the transmission information from the request packet and outputs it to the transmission information storage means; the receiving device, at the time of receiving the response packet, outputs the reception information of the response packet and the condition notification information to the reception results storage means; and the processing device, based on the transmission information, the reception information, and the condition notification information, determines whether or not the answer of the response packet is normal in relation to the transmission of the request packet, and, in the event it determines that it was abnormal, interrupts the transmission of the request packet to the transmitting device.
Because of this, the transmitting device determines whether or not the answer of the response packet to the transmission of the request packet is normal, and it is not necessary to wait for the transmission of the request packet based on that determination.
Therefore, when the transmitting device obtains the transmission report and transmits the request packet, as long as it is not determined at the processing device that an abnormal transmit condition has been generated, the transmission of the next request packet can be done immediately without regard to the receive condition of the response packet, and since the transmission of request packets can be done one after another, the transmission efficiency for the request packets can be improved compared to the past whereby the transmission of a new request packet could not be done in the interval of the response packet receive wait condition.
Furthermore, in this invention in the event the receiving device cannot receive said response packet even if the content of the acknowledged signal is a content in which the response packet is returned, a dummy response packet is generated by a dummy response packet generating means.
Because of this, if condition notification information is carried showing an abnormality in the dummy response packet, even in the case in which the response packet could not be received, a determination can be made by reading out the condition notification information from the dummy response packet as to whether or not the answer of the response packet that responds to the request packet is normal by the same series of processes as when the response packet is received.
Also, since a dummy response packet and a response packet that was normally received can be distinguished by reading out the added information (recognition information) from the dummy response packet in regard to a transaction in which a dummy response packet has been received, the fact that a response packet has been received can be detected, and in regard to that transaction the request packet can be retransmitted.
In the data processing device 1, when the transmission information acquisition section 8 acquires the destination ID and the tLabel and transmits these to the transmit queue 5, the transmitting device 3 can immediately transmit new request packets. As a result of that, even if a response to the request packet fails, since the decision section 11 can detect the fact that the response has failed, in order to provide for a failure of the response in the interval from the transmission of the request packet until the reception of the response packet, the transmission efficiency for the request packet can be increased compared to the past because transmitting device, different than in the past wherein a request packet could not be output, can transmit request packets one after another until the decision section 11 has determined that the response has failed.
As was explained above, since the processing device makes the determination according to this invention, in regard to whether or not the transmit condition for the request packet is normal, and it is not necessary for the transmitting device to make this decision (compared to in the past where the decision process was made by the transmitting device) the processes that the transmitting device can be reduced.
Also, with the process here the reception of the response packet is unnecessary since the processing device can determine whether or not the transmission of the request packet was correct; and since the transmitting device can transmit new request packets one after another until the processing device has determined that an abnormality has been generated in the transmission, the transmission efficiency for the request packet can be increased compared to the past.
Lastly, in the event the receiving device cannot receive the response packet, since a dummy response packet is created, even in the event the response packet cannot be received, a determination can be made as to whether or not the transmission was normal by a series of processes that are the same as when a response packet is received.